home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 November / SGI Freeware 1999 November - Disc 1.iso / dist / fw_cvs.idb / usr / freeware / catman / u_man / cat5 / cvs.Z / cvs
Text File  |  1999-04-16  |  21KB  |  397 lines

  1.  
  2.  
  3.  
  4.      ccccvvvvssss((((5555))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((11112222 FFFFeeeebbbbrrrruuuuaaaarrrryyyy    1111999999992222))))        ccccvvvvssss((((5555))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.       cvs -    Concurrent Versions System support files
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.       $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////ccccoooommmmmmmmiiiittttiiiinnnnffffoooo,,,,vvvv
  13.  
  14.       $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////ccccvvvvssssiiiiggggnnnnoooorrrreeee,,,,vvvv
  15.  
  16.       $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////ccccvvvvsssswwwwrrrraaaappppppppeeeerrrrssss,,,,vvvv
  17.  
  18.       $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////eeeeddddiiiittttiiiinnnnffffoooo,,,,vvvv
  19.  
  20.       $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////hhhhiiiissssttttoooorrrryyyy
  21.  
  22.       $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////llllooooggggiiiinnnnffffoooo,,,,vvvv
  23.  
  24.       $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////mmmmoooodddduuuulllleeeessss,,,,vvvv
  25.  
  26.       $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////rrrrccccssssiiiinnnnffffoooo,,,,vvvv
  27.  
  28.       $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////ttttaaaaggggiiiinnnnffffoooo,,,,vvvv
  29.  
  30.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  31.       ccccvvvvssss is a system for providing    source control to hierarchical
  32.       collections  of source directories.  Commands    and procedures
  33.       for using ccccvvvvssss    are described in ccccvvvvssss(1111).
  34.  
  35.       ccccvvvvssss manages _s_o_u_r_c_e _r_e_p_o_s_i_t_o_r_i_e_s, the directories  containing
  36.       master  copies  of the revision-controlled files, by copying
  37.       particular revisions of the files to (and modifications back
  38.       from)     developers' private _w_o_r_k_i_n_g _d_i_r_e_c_t_o_r_i_e_s.  In terms of
  39.       file structure, each individual source repository is an  im-
  40.       mediate subdirectory of $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT.
  41.  
  42.       The files described here are supporting files; they  do  not
  43.       have to exist    for ccccvvvvssss    to operate, but    they allow you to make
  44.       ccccvvvvssss operation    more flexible.
  45.  
  46.       You can use the `modules' file to define symbolic names  for
  47.       collections  of  source maintained with ccccvvvvssss.    If there is no
  48.       `modules' file, developers must specify complete path     names
  49.       (absolute,  or relative to $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT) for the files they wish
  50.       to manage with ccccvvvvssss commands.
  51.  
  52.       You can use the `commitinfo' file to define programs to exe-
  53.       cute    whenever `ccccvvvvssss ccccoooommmmmmmmiiiitttt' is about to execute.  These pro-
  54.       grams    are used for ``pre-commit'' checking  to  verify  that
  55.       the  modified,  added, and removed files are really ready to
  56.       be committed.     Some uses for this check might    be to turn off
  57.       a  portion (or all) of the source repository from a particu-
  58.       lar person or     group.      Or,  perhaps,     to  verify  that  the
  59.       changed  files  conform  to  the site's standards for    coding
  60.  
  61.  
  62.  
  63.      Page 1                          (printed 2/3/99)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      ccccvvvvssss((((5555))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((11112222 FFFFeeeebbbbrrrruuuuaaaarrrryyyy    1111999999992222))))        ccccvvvvssss((((5555))))
  71.  
  72.  
  73.  
  74.       practice.
  75.  
  76.       You can use the `cvswrappers'    file  to  record  ccccvvvvssss  wrapper
  77.       commands  to be used when checking files into    and out    of the
  78.       repository.  Wrappers    allow the file or directory to be pro-
  79.       cessed  on the way in    and out    of CVS.     The intended uses are
  80.       many,    one possible use would be to reformat a    C file    before
  81.       the file is checked in, so all of the    code in    the repository
  82.       looks    the same.
  83.  
  84.       You can use the `loginfo' file to define programs to execute
  85.       after     any  ccccoooommmmmmmmiiiitttt,  which writes a log entry    for changes in
  86.       the repository.  These logging programs might    be used    to ap-
  87.       pend    the  log  message  to a    file.  Or send the log message
  88.       through electronic mail  to  a  group     of  developers.   Or,
  89.       perhaps, post    the log    message    to a particular    newsgroup.
  90.  
  91.       You can use the `taginfo' file to define programs to execute
  92.       after    any ttttaaaaggggorrrrrttttaaaagggg operation.  These    programs might be used
  93.       to append a message to a file    listing    the new    tag  name  and
  94.       the  programmer  who    created    it, or send mail to a group of
  95.       developers, or, perhaps, post     a  message  to     a  particular
  96.       newsgroup.
  97.  
  98.       You can use the `rcsinfo' file to define forms for log  mes-
  99.       sages.
  100.  
  101.       You can use the `editinfo' file to define a program to  exe-
  102.       cute    for editing/validating `ccccvvvvssss ccccoooommmmmmmmiiiitttt' log    entries.  This
  103.       is most useful when used with    a `rcsinfo'  forms  specifica-
  104.       tion,     as  it     can verify that the proper fields of the form
  105.       have been filled in by the user committing the change.
  106.  
  107.       You can use the `cvsignore' file to specify the default list
  108.       of files to ignore during uuuuppppddddaaaatttteeee.
  109.  
  110.       You can use the `history' file to record  the     ccccvvvvssss  commands
  111.       that    affect    the repository.     The creation of this file en-
  112.       ables    history    logging.
  113.  
  114.      FFFFIIIILLLLEEEESSSS
  115.       mmmmoooodddduuuulllleeeessss
  116.            The `modules' file records your    definitions  of     names
  117.            for collections of source code.    ccccvvvvssss will use these de-
  118.            finitions if you    use ccccvvvvssss    to check in a  file  with  the
  119.            right format to `$$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////mmmmoooodddduuuulllleeeessss,,,,vvvv'.
  120.  
  121.            The `modules' file may contain blank lines and comments
  122.            (lines  beginning  with    `####') as    well as    module defini-
  123.            tions.  Long lines can be continued on the next line by
  124.            specifying a backslash (``\'') as the last character on
  125.            the line.
  126.  
  127.  
  128.  
  129.      Page 2                          (printed 2/3/99)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      ccccvvvvssss((((5555))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((11112222 FFFFeeeebbbbrrrruuuuaaaarrrryyyy    1111999999992222))))        ccccvvvvssss((((5555))))
  137.  
  138.  
  139.  
  140.            A _m_o_d_u_l_e    _d_e_f_i_n_i_t_i_o_n is a    single line of    the  `modules'
  141.            file,  in  either of two    formats.  In both cases, _m_n_a_m_e
  142.            represents the symbolic module name, and    the  remainder
  143.            of the line is its definition.
  144.  
  145.            _m_n_a_m_e ----aaaa    _a_l_i_a_s_e_s...
  146.            This represents the simplest way    of defining  a    module
  147.            _m_n_a_m_e.    The  `----aaaa'  flags  the  definition  as a    simple
  148.            alias: ccccvvvvssss will treat any use of    _m_n_a_m_e  (as  a  command
  149.            argument)  as  if  the  list  of    names _a_l_i_a_s_e_s had been
  150.            specified instead.  _a_l_i_a_s_e_s may    contain     either     other
  151.            module  names or    paths.    When you use paths in _a_l_i_a_s_e_s,
  152.            `ccccvvvvssss cccchhhheeeecccckkkkoooouuuutttt' creates all intermediate directories  in
  153.            the  working  directory,     just  as if the path had been
  154.            specified explicitly in the ccccvvvvssss arguments.
  155.  
  156.            _m_n_a_m_e [ _o_p_t_i_o_n_s ] _d_i_r [ _f_i_l_e_s...    ] [ &&&&_m_o_d_u_l_e... ]
  157.  
  158.            In the simplest case, this form    of  module  definition
  159.            reduces    to `_m_n_a_m_e _d_i_r'.     This defines all the files in
  160.            directory _d_i_r as    module _m_n_a_m_e.  _d_i_r is a    relative  path
  161.            (from  $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT)    to a directory of source in one    of the
  162.            source repositories.  In    this case, on cccchhhheeeecccckkkkoooouuuutttt,    a sin-
  163.            gle  directory  called  _m_n_a_m_e  is  created as a working
  164.            directory; no intermediate directory levels are used by
  165.            default,     even  if  _d_i_r    was  a    path involving several
  166.            directory levels.
  167.  
  168.            By explicitly specifying    _f_i_l_e_s in the module definition
  169.            after  _d_i_r, you can select particular files from    direc-
  170.            tory _d_i_r.  The sample definition    for mmmmoooodddduuuulllleeeessss is an  ex-
  171.            ample  of  a  module  defined with a single file    from a
  172.            particular directory.  Here is another example:
  173.  
  174.            mmmm4444tttteeeesssstttt  uuuunnnnssssuuuuppppppppoooorrrrtttteeeedddd////ggggnnnnuuuu////mmmm4444 ffffoooorrrreeeeaaaacccchhhh....mmmm4444 ffffoooorrrrlllloooooooopppp....mmmm4444
  175.  
  176.            With this definition, executing `ccccvvvvssss  cccchhhheeeecccckkkkoooouuuutttt  mmmm4444tttteeeesssstttt'
  177.            will  create  a    single working directory `m4test' con-
  178.            taining the two files listed, which both     come  from  a
  179.            common  directory several levels    deep in    the ccccvvvvssss    source
  180.            repository.
  181.  
  182.            A module    definition can refer to    other modules  by  in-
  183.            cluding    `&&&&_m_o_d_u_l_e' in its definition.  cccchhhheeeecccckkkkoooouuuutttt creates
  184.            a subdirectory for each such _m_o_d_u_l_e,  in     your  working
  185.            directory.
  186.            _N_e_w _i_n ccccvvvvssss _1._3; avoid this feature  if  sharing    module
  187.            definitions with    older versions of ccccvvvvssss.
  188.  
  189.            Finally,    you can    use one    or more    of the    following  _o_p_-
  190.            _t_i_o_n_s in    module definitions:
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                          (printed 2/3/99)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      ccccvvvvssss((((5555))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((11112222 FFFFeeeebbbbrrrruuuuaaaarrrryyyy    1111999999992222))))        ccccvvvvssss((((5555))))
  203.  
  204.  
  205.  
  206.            `----dddd _n_a_m_e', to name the working directory    something oth-
  207.            er than the module name.
  208.            _N_e_w _i_n ccccvvvvssss _1._3; avoid this feature  if  sharing    module
  209.            definitions with    older versions of ccccvvvvssss.
  210.  
  211.            `----iiii _p_r_o_g' allows    you to specify a program _p_r_o_g  to  run
  212.            whenever     files    in  a module are committed.  _p_r_o_g runs
  213.            with a single argument, the full    pathname  of  the  af-
  214.            fected  directory in a source repository.   The `commi-
  215.            tinfo', `loginfo', and `editinfo' files    provide     other
  216.            ways to call a program on ccccoooommmmmmmmiiiitttt.
  217.  
  218.            `----oooo _p_r_o_g' allows    you to specify a program _p_r_o_g  to  run
  219.            whenever     files in a module are checked out.  _p_r_o_g runs
  220.            with a single argument, the module name.
  221.  
  222.            `----eeee _p_r_o_g' allows    you to specify a program _p_r_o_g  to  run
  223.            whenever     files    in  a  module are exported.  _p_r_o_g runs
  224.            with a single argument, the module name.
  225.  
  226.            `----tttt _p_r_o_g' allows    you to specify a program _p_r_o_g  to  run
  227.            whenever     files in a module are tagged.    _p_r_o_g runs with
  228.            two arguments:  the module name and  the     symbolic  tag
  229.            specified to rrrrttttaaaagggg.
  230.  
  231.            `----uuuu _p_r_o_g' allows    you to specify a program _p_r_o_g  to  run
  232.            whenever     `ccccvvvvssss  uuuuppppddddaaaatttteeee'    is executed from the top-level
  233.            directory of the    checked-out module.  _p_r_o_g runs with  a
  234.            single argument,    the full path to the source repository
  235.            for this    module.
  236.  
  237.       ccccoooommmmmmmmiiiittttiiiinnnnffffoooo, llllooooggggiiiinnnnffffoooo, rrrrccccssssiiiinnnnffffoooo,    eeeeddddiiiittttiiiinnnnffffoooo
  238.            These files all specify programs    to call     at  different
  239.            points in the `ccccvvvvssss ccccoooommmmmmmmiiiitttt' process.  They have a    common
  240.            structure.  Each    line is    a pair of  fields:  a  regular
  241.            expression,  separated by whitespace from a filename or
  242.            command-line template.  Whenever    one of the regular ex-
  243.            pression     matches  a  directory name in the repository,
  244.            the rest    of the line is used.  If the line begins  with
  245.            a  #### character, the entire line is considered a comment
  246.            and is ignored.    Whitespace between the fields is  also
  247.            ignored.
  248.  
  249.            For `loginfo', the rest of the line is  a  command-line
  250.            template     to  execute.    The  templates can include not
  251.            only a program name, but    whatever list of arguments you
  252.            wish.   If  you    write  `%%%%ssss'  somewhere on the argument
  253.            list, ccccvvvvssss supplies, at that point, the  list  of     files
  254.            affected     by the    ccccoooommmmmmmmiiiitttt.    The first entry    in the list is
  255.            the relative path within    the  source  repository     where
  256.            the change is being made.  The remaining    arguments list
  257.            the files that are being    modified, added, or removed by
  258.  
  259.  
  260.  
  261.      Page 4                          (printed 2/3/99)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      ccccvvvvssss((((5555))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((11112222 FFFFeeeebbbbrrrruuuuaaaarrrryyyy    1111999999992222))))        ccccvvvvssss((((5555))))
  269.  
  270.  
  271.  
  272.            this ccccoooommmmmmmmiiiitttt invocation.
  273.  
  274.            For `taginfo', the rest of the line is  a  command-line
  275.            template     to execute.  The arguments passed to the com-
  276.            mand are, in order, the _t_a_g_n_a_m_e , _o_p_e_r_a_t_i_o_n  (i.e.  aaaadddddddd
  277.            for `tag', mmmmoooovvvv for `tag -F', and    ddddeeeellll for    `tag -d`), _r_e_-
  278.            _p_o_s_i_t_o_r_y    , and any remaining are    pairs of ffffiiiilllleeeennnnaaaammmmeeee  rrrreeee----
  279.            vvvviiiissssiiiioooonnnn  ....  A  non-zero  exit of the filter program will
  280.            cause the tag to    be aborted.
  281.  
  282.            For `commitinfo', the rest of the line  is  a  command-
  283.            line template to    execute.  The template can include not
  284.            only a program name, but    whatever list of arguments you
  285.            wish.   The  full path to the current source repository
  286.            is appended to the template, followed by    the file names
  287.            of  any    files  involved    in the commit (added, removed,
  288.            and modified files).
  289.  
  290.            For `rcsinfo', the rest of the line is the full path to
  291.            a  file that should be loaded into the log message tem-
  292.            plate.
  293.  
  294.            For `editinfo', the rest    of the line is a  command-line
  295.            template    to execute.  The template can include not only
  296.            a program name, but  whatever  list  of    arguments  you
  297.            wish.   The  full  path to the current log message tem-
  298.            plate file is appended to the template.
  299.  
  300.            You can use one of two special  strings    instead     of  a
  301.            regular expression: `AAAALLLLLLLL' specifies a command line tem-
  302.            plate that  must     always     be  executed,    and  `DDDDEEEEFFFFAAAAUUUULLLLTTTT'
  303.            specifies  a command line template to use if no regular
  304.            expression is a match.
  305.  
  306.            The `commitinfo'    file contains commands to execute  _b_e_-
  307.            _f_o_r_e  any  other    ccccoooommmmmmmmiiiitttt activity, to allow you to check
  308.            any conditions that must    be satisfied before ccccoooommmmmmmmiiiitttt can
  309.            proceed.      The  rest of the ccccoooommmmmmmmiiiitttt will execute only if
  310.            all selected commands from this    file  exit  with  exit
  311.            status 0000.
  312.  
  313.            The `rcsinfo' file allows you to    specify    _l_o_g  _t_e_m_p_l_a_t_e_s
  314.            for  the     ccccoooommmmmmmmiiiitttt     logging  session; you can use this to
  315.            provide a form to edit when filling out the ccccoooommmmmmmmiiiitttt log.
  316.            The  field  after the regular expression, in this file,
  317.            contains    filenames (of  files  containing  the  logging
  318.            forms) rather than command templates.
  319.  
  320.            The `editinfo' file allows you to execute a script  _b_e_-
  321.            _f_o_r_e  _t_h_e  _c_o_m_m_i_t _s_t_a_r_t_s, but after the log information
  322.            is recorded.  These "edit" scripts can verify  informa-
  323.            tion  recorded in the log file.    If the edit script ex-
  324.  
  325.  
  326.  
  327.      Page 5                          (printed 2/3/99)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      ccccvvvvssss((((5555))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((11112222 FFFFeeeebbbbrrrruuuuaaaarrrryyyy    1111999999992222))))        ccccvvvvssss((((5555))))
  335.  
  336.  
  337.  
  338.            its wth a non-zero exit status, the commit is aborted.
  339.  
  340.            The `loginfo' file contains commands to execute _a_t  _t_h_e
  341.            _e_n_d  of    a  commit.  The    text specified as a commit log
  342.            message is piped    through    the command; typical uses  in-
  343.            clude  sending  mail, filing an article in a newsgroup,
  344.            or appending to a central file.
  345.  
  346.       ccccvvvvssssiiiiggggnnnnoooorrrreeee, ....ccccvvvvssssiiiiggggnnnnoooorrrreeee
  347.            The default list    of files (or sssshhhh(1111) file    name patterns)
  348.            to  ignore  during  `ccccvvvvssss    uuuuppppddddaaaatttteeee'.  At startup time, ccccvvvvssss
  349.            loads the compiled in default list of  file  name  pat-
  350.            terns  (see  ccccvvvvssss(1111)).  Then the per-repository list in-
  351.            cluded in $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT////ccccvvvvssssiiiiggggnnnnoooorrrreeee is loaded,    if  it
  352.            exists.      Then     the  per-user    list  is  loaded  from
  353.            `$HOME/.cvsignore'.  Finally, as    ccccvvvvssss traverses  through
  354.            your   directories,  it    will  load  any     per-directory
  355.            `.cvsignore' files whenever it finds one.   These  per-
  356.            directory files are only    valid for exactly the directo-
  357.            ry that contains    them, not for any sub-directories.
  358.  
  359.       hhhhiiiissssttttoooorrrryyyy
  360.            Create this file    in $$$$CCCCVVVVSSSSRRRROOOOOOOOTTTT////CCCCVVVVSSSSRRRROOOOOOOOTTTT to enable  history
  361.            logging (see the    description of `ccccvvvvssss hhhhiiiissssttttoooorrrryyyy').
  362.  
  363.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  364.       ccccvvvvssss(1111),
  365.  
  366.      CCCCOOOOPPPPYYYYIIIINNNNGGGG
  367.       Copyright c 1992 Cygnus Support, Brian  Berliner,  and  Jeff
  368.       Polk
  369.  
  370.       Permission is    granted    to make    and distribute verbatim    copies
  371.       of  this  manual provided the    copyright notice and this per-
  372.       mission notice are preserved on all copies.
  373.  
  374.       Permission is    granted    to copy    and distribute    modified  ver-
  375.       sions    of this    manual under the conditions for    verbatim copy-
  376.       ing, provided    that the entire    resulting derived work is dis-
  377.       tributed under the terms of a    permission notice identical to
  378.       this one.
  379.  
  380.       Permission is    granted    to copy    and distribute translations of
  381.       this    manual    into  another language,    under the above    condi-
  382.       tions    for modified versions, except that this    permission no-
  383.       tice    may  be     included in translations approved by the Free
  384.       Software Foundation instead of in the    original English.
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.      Page 6                          (printed 2/3/99)
  394.  
  395.  
  396.  
  397.